package com.xml;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import com.bean.Cliente;
import com.bean.Cotizacion;
import com.app.CasaCentral;
import com.bean.Rodamiento;


public class CotizacionXML {
	
		private Document doc;
		
		private void crearDocumento(String archivo){
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			DocumentBuilder builder;
			try {
				builder = factory.newDocumentBuilder();
				doc = builder.parse(archivo);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		
		public Cotizacion procesarXMLCotizacion(String archivo){		
			this.crearDocumento(archivo);
			Element root = doc.getDocumentElement();
			
			Cotizacion cotizacion = new Cotizacion();
			
			Cliente cliente = CasaCentral.getInstancia().getCliente(Integer.parseInt(root.getAttribute("idCliente"))); 
			cotizacion.setCliente(cliente);
			
			NodeList nodos = root.getElementsByTagName("item");
			for(int i = 0; i < nodos.getLength(); i++){
				Element nodo = (Element)nodos.item(i);
				String codigo = nodo.getAttribute("idRodamiento");
				String marca = nodo.getAttribute("marca");
				Integer cantidad = Integer.parseInt(nodo.getAttribute("Cantidad"));
				Rodamiento rodamiento = CasaCentral.getInstancia().getRodamiento(codigo, marca);
				cotizacion.addItemCotizacion(rodamiento, cantidad);
			}
			return cotizacion;
			
		}	
	}

